type IconProps = React.HTMLAttributes<SVGElement>;

export const Icons = {
  logo: (props: IconProps) => (
    <svg
      xmlns="http://www.w3.org/2000/svg"
      version="1.0"
      {...props}
      viewBox="0 0 762.000000 214.000000"
      preserveAspectRatio="xMidYMid meet"
      strokeWidth="4"
    >
      <g transform="translate(0.000000,214.000000) scale(0.100000,-0.100000)" fill="currentColor" stroke="none">
        <path d="M915 2099 c-38 -5 -101 -18 -140 -28 -74 -21 -236 -87 -245 -100 -3 -5 -21 -16 -40 -26 -67 -34 -230 -175 -230 -200 0 -5 -22 -34 -50 -64 -33 -36 -58 -76 -75 -121 -14 -38 -35 -78 -45 -90 -10 -12 -22 -36 -25 -53 -15 -80 -30 -133 -39 -138 -13 -10 -12 -419 2 -427 5 -4 17 -41 26 -83 18 -87 25 -109 35 -109 4 0 18 -24 31 -53 41 -93 55 -119 71 -130 8 -7 34 -37 56 -68 54 -73 158 -168 225 -204 29 -16 58 -34 64 -40 24 -24 223 -95 324 -115 88 -18 126 -21 230 -17 69 4 154 13 190 22 73 17 210 69 255 97 17 10 38 21 48 24 9 4 17 10 17 15 0 5 5 9 11 9 13 0 82 54 120 93 14 15 31 27 38 27 6 0 15 8 18 18 4 9 26 37 50 61 24 24 43 49 43 57 0 8 4 14 10 14 13 0 70 90 70 113 0 9 4 17 9 17 25 0 101 230 101 309 0 28 5 51 10 51 6 0 10 43 10 110 0 67 -4 110 -10 110 -5 0 -10 23 -10 51 0 28 -7 77 -15 109 -15 58 -72 201 -84 210 -3 3 -17 27 -31 54 -14 27 -33 53 -42 60 -10 6 -18 16 -18 23 0 13 -176 193 -189 193 -5 0 -11 7 -15 15 -3 8 -12 15 -21 15 -8 0 -15 4 -15 9 0 5 -8 11 -17 15 -18 5 -54 26 -63 36 -9 9 -143 68 -195 85 -137 45 -314 63 -450 44z m355 -110 c102 -24 311 -122 333 -156 4 -7 12 -13 16 -13 10 0 67 -47 90 -74 9 -11 31 -34 49 -52 17 -18 32 -37 32 -43 0 -6 9 -15 20 -21 11 -6 20 -17 20 -24 0 -7 11 -26 25 -42 14 -16 25 -35 25 -42 0 -7 6 -20 14 -28 20 -20 57 -121 63 -171 3 -24 9 -43 13 -43 11 0 30 -139 30 -215 0 -80 -20 -215 -31 -215 -5 0 -9 -14 -9 -30 0 -33 -57 -190 -69 -190 -4 0 -13 -15 -19 -34 -7 -19 -19 -37 -27 -40 -8 -3 -15 -11 -15 -18 0 -8 -8 -21 -17 -30 -10 -9 -27 -29 -38 -43 -11 -15 -40 -46 -64 -68 -24 -23 -54 -52 -66 -65 -12 -12 -27 -22 -34 -22 -6 0 -11 -3 -11 -8 0 -9 -7 -13 -140 -79 -264 -130 -541 -136 -804 -16 -56 25 -103 49 -106 53 -3 4 -16 13 -29 20 -14 7 -30 17 -35 21 -87 71 -123 105 -170 160 -31 36 -56 71 -56 78 0 11 -49 91 -61 101 -27 20 -90 263 -88 340 l0 35 16 -35 c38 -86 51 -105 132 -188 71 -72 101 -95 171 -129 223 -109 494 -91 680 46 48 35 130 116 130 129 0 6 8 17 18 24 10 7 24 28 31 46 7 17 17 32 21 32 4 0 10 13 13 29 3 16 12 35 19 42 18 18 48 178 48 254 0 76 -30 236 -48 254 -7 7 -16 26 -19 42 -3 16 -9 29 -14 29 -4 0 -10 8 -14 19 -3 10 -17 31 -30 47 -14 16 -25 34 -25 40 0 6 -21 28 -46 50 -25 21 -52 45 -59 52 -8 6 -18 12 -23 12 -5 0 -15 6 -21 14 -17 21 -126 70 -196 89 -33 9 -95 18 -138 19 -42 2 -77 4 -77 5 0 6 78 35 134 49 144 38 304 39 456 3z m-400 -160 c51 -12 190 -78 190 -91 0 -4 4 -8 9 -8 13 0 101 -83 101 -96 0 -5 9 -15 20 -22 11 -7 20 -19 20 -27 0 -8 4 -15 9 -15 5 0 17 -25 26 -55 8 -30 19 -55 24 -55 4 0 11 -26 15 -57 4 -31 9 -69 12 -83 l4 -25 -12 25 c-16 32 -33 53 -83 105 -52 53 -75 67 -158 95 -131 44 -287 9 -384 -87 -60 -59 -93 -102 -93 -118 0 -8 -4 -15 -10 -15 -5 0 -10 -13 -10 -30 0 -16 -4 -30 -10 -30 -6 0 -10 -45 -10 -115 0 -70 4 -115 10 -115 6 0 10 -11 10 -25 0 -14 5 -25 10 -25 6 0 10 -7 10 -15 0 -17 35 -61 90 -113 48 -45 127 -89 175 -97 80 -13 90 -16 75 -25 -7 -5 -52 -14 -98 -21 -233 -35 -472 78 -571 271 -18 36 -37 68 -42 71 -5 3 -19 43 -30 89 -17 68 -20 103 -16 180 4 83 28 185 46 200 13 10 61 90 61 100 0 6 21 34 47 62 137 147 358 213 563 167z m145 -393 c50 -13 155 -79 155 -97 0 -5 9 -18 20 -29 11 -11 20 -29 20 -39 0 -11 6 -21 13 -23 9 -3 12 -36 12 -118 0 -82 -3 -114 -12 -117 -7 -3 -13 -13 -13 -23 0 -11 -11 -31 -25 -46 -14 -15 -25 -31 -25 -35 0 -5 -6 -9 -14 -9 -8 0 -16 -6 -19 -13 -2 -7 -24 -23 -48 -35 -171 -85 -346 -25 -431 147 -33 67 -33 207 1 271 74 142 216 206 366 166z" />
        <path d="M4862 1223 c3 -356 7 -455 18 -480 8 -18 17 -33 21 -33 4 0 12 -15 20 -32 14 -36 80 -108 98 -108 6 0 11 -4 11 -8 0 -12 99 -59 153 -73 29 -7 87 -10 146 -7 90 4 104 8 162 41 85 48 142 103 183 178 11 18 24 37 29 40 30 20 32 322 2 352 -7 7 -20 28 -29 46 -47 89 -132 160 -243 201 -53 19 -77 22 -160 18 -89 -3 -104 -7 -158 -37 -74 -42 -133 -88 -138 -110 -3 -9 -5 91 -6 222 l-1 237 -56 0 -55 0 3 -447z m558 18 c67 -32 127 -83 145 -124 9 -20 24 -45 33 -54 14 -14 17 -38 17 -145 0 -84 -4 -131 -11 -136 -6 -4 -20 -23 -30 -42 -20 -36 -79 -100 -94 -100 -4 0 -13 -6 -19 -14 -7 -8 -40 -22 -75 -31 -125 -34 -246 -6 -324 75 -64 66 -76 86 -86 143 -4 20 -11 37 -16 37 -6 0 -10 34 -10 75 0 41 4 75 9 75 6 0 13 21 17 46 4 27 16 56 30 71 13 14 24 29 24 33 0 17 91 76 149 97 80 28 175 26 241 -6z" />
        <path d="M5940 1065 l0 -585 50 0 50 0 0 585 0 585 -50 0 -50 0 0 -585z" />
        <path d="M2510 1050 l0 -570 320 0 320 0 0 55 0 55 -265 0 -265 0 0 225 0 225 160 0 160 0 0 55 0 55 -160 0 -160 0 0 180 0 180 268 2 267 3 3 53 3 52 -325 0 -326 0 0 -570z" />
        <path d="M6565 1353 c-43 -11 -143 -63 -148 -78 -4 -8 -13 -15 -21 -15 -7 0 -22 -12 -32 -27 -9 -16 -26 -34 -36 -41 -10 -7 -18 -19 -18 -27 0 -7 -6 -20 -13 -27 -25 -25 -35 -53 -42 -120 -4 -38 -11 -68 -16 -68 -5 0 -9 -16 -9 -35 0 -19 4 -35 9 -35 5 0 12 -31 16 -68 5 -52 13 -76 31 -97 13 -15 24 -34 24 -40 0 -27 114 -127 179 -157 57 -28 79 -32 168 -36 61 -3 116 0 140 8 61 18 144 62 156 82 7 10 17 18 24 18 7 0 18 10 24 23 7 12 23 33 35 46 13 13 29 41 34 62 6 22 14 39 18 39 14 0 32 90 32 161 0 74 -16 159 -31 159 -4 0 -13 17 -19 38 -21 78 -145 185 -265 228 -38 13 -195 18 -240 7z m220 -112 c29 -10 61 -25 71 -33 39 -31 104 -102 104 -114 0 -7 6 -19 14 -27 48 -48 48 -257 -1 -305 -7 -7 -13 -20 -13 -27 0 -16 -62 -83 -93 -101 -64 -37 -99 -47 -174 -52 -54 -3 -94 0 -115 8 -71 27 -99 42 -105 56 -3 8 -11 14 -19 14 -7 0 -23 19 -35 42 -12 23 -27 47 -34 54 -6 7 -18 46 -25 88 -15 92 0 212 32 249 11 12 26 34 34 50 8 15 21 27 28 27 8 0 16 6 19 14 7 17 78 54 126 65 61 15 129 12 186 -8z" />
        <path d="M7581 1342 c-46 -7 -191 -104 -191 -128 0 -6 -10 -22 -22 -36 -13 -13 -31 -49 -42 -79 -10 -30 -24 -57 -30 -61 -8 -5 -12 -92 -14 -283 l-3 -275 55 0 54 0 4 273 c3 234 5 276 19 289 9 9 22 31 29 49 8 17 24 43 37 57 13 14 23 28 23 32 0 4 8 10 18 14 9 3 24 10 32 16 8 5 27 14 43 20 24 9 27 14 27 59 0 54 -3 59 -39 53z" />
        <path d="M3595 1321 c-56 -26 -125 -78 -125 -95 0 -8 -6 -16 -14 -19 -22 -9 -66 -112 -66 -156 0 -23 -4 -41 -10 -41 -6 0 -10 -95 -10 -265 l0 -265 49 0 49 0 5 278 c4 267 13 352 39 352 4 0 8 6 8 13 0 23 42 64 94 91 56 30 121 34 184 12 45 -16 102 -62 102 -83 0 -7 4 -13 9 -13 5 0 16 -18 25 -40 13 -34 16 -87 16 -325 l0 -285 54 0 55 0 3 270 c2 174 7 273 13 278 6 4 17 27 24 52 21 73 115 144 207 157 43 6 134 -12 134 -27 0 -4 10 -11 23 -17 15 -7 27 -28 40 -70 14 -50 17 -102 17 -351 l0 -292 56 0 55 0 -4 323 c-4 342 -9 378 -54 427 -13 13 -23 27 -23 31 0 4 -8 9 -17 12 -10 4 -38 19 -63 34 -42 25 -53 27 -150 27 -90 0 -111 -3 -147 -22 -54 -30 -103 -78 -128 -124 -11 -21 -22 -38 -25 -38 -4 0 -14 16 -23 35 -9 19 -21 35 -27 35 -6 0 -15 11 -20 25 -5 14 -18 28 -27 32 -10 4 -21 10 -24 15 -3 4 -31 17 -62 28 -74 26 -187 27 -242 1z" />
      </g>
    </svg>
  ),
  twitter: (props: IconProps) => (
    <svg {...props} height="23" viewBox="0 0 1200 1227" width="23" xmlns="http://www.w3.org/2000/svg">
      <path d="M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z" />
    </svg>
  ),
  gitHub: (props: IconProps) => (
    <svg viewBox="0 0 438.549 438.549" {...props}>
      <path
        fill="currentColor"
        d="M409.132 114.573c-19.608-33.596-46.205-60.194-79.798-79.8-33.598-19.607-70.277-29.408-110.063-29.408-39.781 0-76.472 9.804-110.063 29.408-33.596 19.605-60.192 46.204-79.8 79.8C9.803 148.168 0 184.854 0 224.63c0 47.78 13.94 90.745 41.827 128.906 27.884 38.164 63.906 64.572 108.063 79.227 5.14.954 8.945.283 11.419-1.996 2.475-2.282 3.711-5.14 3.711-8.562 0-.571-.049-5.708-.144-15.417a2549.81 2549.81 0 01-.144-25.406l-6.567 1.136c-4.187.767-9.469 1.092-15.846 1-6.374-.089-12.991-.757-19.842-1.999-6.854-1.231-13.229-4.086-19.13-8.559-5.898-4.473-10.085-10.328-12.56-17.556l-2.855-6.57c-1.903-4.374-4.899-9.233-8.992-14.559-4.093-5.331-8.232-8.945-12.419-10.848l-1.999-1.431c-1.332-.951-2.568-2.098-3.711-3.429-1.142-1.331-1.997-2.663-2.568-3.997-.572-1.335-.098-2.43 1.427-3.289 1.525-.859 4.281-1.276 8.28-1.276l5.708.853c3.807.763 8.516 3.042 14.133 6.851 5.614 3.806 10.229 8.754 13.846 14.842 4.38 7.806 9.657 13.754 15.846 17.847 6.184 4.093 12.419 6.136 18.699 6.136 6.28 0 11.704-.476 16.274-1.423 4.565-.952 8.848-2.383 12.847-4.285 1.713-12.758 6.377-22.559 13.988-29.41-10.848-1.14-20.601-2.857-29.264-5.14-8.658-2.286-17.605-5.996-26.835-11.14-9.235-5.137-16.896-11.516-22.985-19.126-6.09-7.614-11.088-17.61-14.987-29.979-3.901-12.374-5.852-26.648-5.852-42.826 0-23.035 7.52-42.637 22.557-58.817-7.044-17.318-6.379-36.732 1.997-58.24 5.52-1.715 13.706-.428 24.554 3.853 10.85 4.283 18.794 7.952 23.84 10.994 5.046 3.041 9.089 5.618 12.135 7.708 17.705-4.947 35.976-7.421 54.818-7.421s37.117 2.474 54.823 7.421l10.849-6.849c7.419-4.57 16.18-8.758 26.262-12.565 10.088-3.805 17.802-4.853 23.134-3.138 8.562 21.509 9.325 40.922 2.279 58.24 15.036 16.18 22.559 35.787 22.559 58.817 0 16.178-1.958 30.497-5.853 42.966-3.9 12.471-8.941 22.457-15.125 29.979-6.191 7.521-13.901 13.85-23.131 18.986-9.232 5.14-18.182 8.85-26.84 11.136-8.662 2.286-18.415 4.004-29.263 5.146 9.894 8.562 14.842 22.077 14.842 40.539v60.237c0 3.422 1.19 6.279 3.572 8.562 2.379 2.279 6.136 2.95 11.276 1.995 44.163-14.653 80.185-41.062 108.068-79.226 27.88-38.161 41.825-81.126 41.825-128.906-.01-39.771-9.818-76.454-29.414-110.049z"
      ></path>
    </svg>
  ),
  spinner: (props: IconProps) => (
    <svg
      xmlns="http://www.w3.org/2000/svg"
      width="24"
      height="24"
      viewBox="0 0 24 24"
      fill="none"
      stroke="currentColor"
      strokeWidth="2"
      strokeLinecap="round"
      strokeLinejoin="round"
      {...props}
    >
      <path d="M21 12a9 9 0 1 1-6.219-8.56" />
    </svg>
  ),
};
